#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>

//int main()
//{
//    int arr[] = { 1,2,3,4,5 };
//    short* p = (short*)arr;
//    int i = 0;
//    for (i = 0; i < 4; i++)
//    {
//        *(p + i) = 0;
//    }
//
//    for (i = 0; i < 5; i++)
//    {
//        printf("%d ", arr[i]);
//    }
//    return 0;
//}

//int main()
//{
//	unsigned long pulArray[] = { 6,7,8,9,10 };
//	unsigned long* pulPtr;
//	pulPtr = pulArray;
//	*(pulPtr + 3) += 3;
//	printf("%d,%d\n", *pulPtr, *(pulPtr + 3));
//	return 0;
//}



//int main()
//{
//    int a = 0x11223344;
//    char* pc = (char*)&a;
//    *pc = 0;
//    printf("%x\n", a);
//    return 0;
//}



//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int* p = arr;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", *p);
//		p++;
//	}
//	return 0;
//}


//void reverse(char* left,char* right)
//{
//	while (left < right)
//	{
//		char tmp = 0;
//		tmp = *left;
//		*left = *right;
//		*right = tmp;
//		left++;
//		right--;
//	}
//
//}
//
//
//int main()
//{
//	char arr[100] = {0};
//	gets(arr);
//	int sz = strlen(arr);
//	reverse(arr,arr+sz-1);
//	printf("%s\n", arr);
//	return 0;
//}



//int sxh(int i)
//{
//	int tmp = i;
//	int n = 0;
//	int sum = 0;
//	while (i)
//	{
//		i /= 10;
//		n++;
//	}
//	i = tmp;
//	while (tmp)
//	{
//		sum += pow(tmp%10, n);
//		tmp /= 10;
//	}
//	if (sum == i)
//	{
//		return 1;
//	}
//	return 0;
//}
//
//int main()
//{
//	int i = 0;
//	for (i = 10; i < 100000; i++)
//	{
//		if (sxh(i) == 1)
//		{
//			printf("%d \n", i);
//		}
//	}
//	return 0;
//}




int main()
{
	int i = 0;
	int n = 0;
	int a = 0;
	int ret = 0;
	int sum = 0;
	scanf_s("%d %d", &a, &n);
	for (i = 0; i < n; i++)
	{
		ret = ret * 10 + a;
		sum += ret;
	}
	printf("%d", sum);
	return 0;
}